[アップデート]AWS App Runnerは、Bitbucketリポジトリからサービスをデプロイできるようになりました
はじめに
AWS App Runnerは、Bitbucketリポジトリからのデプロイができるようになりました。
App Runner には、アプリケーションをデプロイするための2つの方法が用意されています。
事前に構築されたECRにあるコンテナイメージ使用してサービスをデプロイする方法と、ソースリポジトリのコードを使用してサービスをデプロイする方法です。
従来、後者の方法では、Githubリポジトリのみサポートされていましたが、Bitbucketリポジトリも利用できるようになりました。
前提条件
Bitbucketリポジトリを作成し、ソースコードは、下記の2ファイルを保存します。
Click==7.0 Flask==1.0.2 itsdangerous==1.1.0 Jinja2==2.10 MarkupSafe==1.1.1 Werkzeug==0.15.5
from flask import Flask import os PORT = 8080 name = os.environ['NAME'] if name == None or len(name) == 0: name = "world" MESSAGE = "Hello, " + name + "!" print("Message: '" + MESSAGE + "'") app = Flask(__name__) @app.route("/") def root(): print("Handling web request. Returning message.") result = MESSAGE.encode("utf-8") return result if __name__ == "__main__": app.run(debug=True, host="0.0.0.0", port=PORT)
下記のドキュメントを参考に検証しました。
Bitbucketリポジトリからデプロイしてみた
App Runnerのサービス作成画面から、[ソースコードリポジトリ]を選択すると、Bitbucket
が指定できるようになっていますので、選択します。
[新規追加]をクリックすると、Bitbucketのログイン画面がでますので、ログインします。
[アクセスを許可する]をクリックします
[別のアプリケーションをインストール]します。
[アクセスを許可する]することで、BitbucketとAWSが連携できるようになります。
BitbucketのWorkSpace内のリポジトリとブランチが表示されましたので、選択します。
構築設定では、以下の通りに入力します。
- ランタイム
Python 3
- 構築コマンド
pip install -r requirements.txt
requirements.txt
に記載したをパッケージを指定のバージョンで一括インストールします
- 開始コマンド
python server.py
- Webサーバの起動をしています
- ポート
8080
server.py
に環境変数を入れる箇所がありますので、App Runner側で環境変数を入れます
- ソース
- プレーンテキスト
- 環境変数名
- NAME
- 環境変数の値
- hirai
他はデフォルトのままでサービスを作成します。
デプロイが成功しました。
デフォルトドメインにアクセスすると、下記のサイトが確認できました。
一時停止や削除も簡単です。一時停止すると、料金はかかりません。
最後に
今回のアップデートでは、Bitbucketリポジトリからのデプロイができるようになりました。
私自身App Runnerは、初めて触ったのですが、ECSに比べて、簡単にデプロイできると実感しました。
GithubではなくBitbucketを利用しているユーザーにとっては、App Runnerを利用するキッカケになるアップデートですね。
参考になれば幸いです